SQL injection или внедрение SQL кода - один из распространённых и опасных способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода.
За счёт внедрения своего SQL кода в код сайта хакер может получить возможность изменять, удалять или читать произвольные данные.
Базы данных могут позволять работать с файловой системой и если права настроены небезопасно, то хакер сможет создавать или изменять файлы. Таким образом с помощью SQL инъекции можно произвести даже атаку deface.
Внедрения SQL чаще всего связана с некорректной обработки входных данных, используемых в SQL-запросах. Нельзя напрямую добавлять к SQL запросам данные, которые передал в программу пользователь:
"SELECT * FORM Table WHERE Name = " + name;
Вместо конкатенации строк везде нужно использовать параметры:
"SELECT * FORM Table WHERE Name = @name";
Таким образом можно очень легко защититься от SQL Injection – везде использовать только параметризированные запросы.
Вернуться к словарю ИТшника